package 每日一题;

import java.sql.ClientInfoStatus;
import java.util.*;
import java.util.stream.Collectors;

public class 一手顺子 {
    public boolean isNStraightHand(int[] hand, int groupSize) {
        if (hand.length%groupSize!=0)
            return false;
        Arrays.sort(hand);
        Map<Integer, Integer> map = new HashMap<>();
        for (int i : hand) {
            map.put(i,map.getOrDefault(i,0)+1);
        }
        for (int num : hand) {
            //不包含这个数，说明这个数已经被用掉。进行下一次循环即可
            if (!map.containsKey(num))
                continue;
            for (int i = 0; i < groupSize; i++) {
                int j = num+i;
                if (!map.containsKey(j))
                    return false;
                map.put(j,map.get(j)-1);
                if (map.get(j)==0)
                    map.remove(j);
            }
        }
        return true;
    }
}
